package com.sxj.corejava.code10_异常;

import java.text.SimpleDateFormat;

/**
 * @author 石小俊
 */
public class Test01_常见异常 {

    public static void main(String[] args) {
        System.out.println("刚进入main方法");
        // ArithmeticException:算术异常
        // int i = 1 / 0;

        // NullPointerException:空指针异常
        // 当程序执行过程中某个变量的值为null引发的异常
//        User user = null;
//        user.setId(1);
        String s = null;
        // 当通过null调用了方法则会引发空指针异常
//        System.out.println(s.equals("admin"));
        // null单纯的作为一个值是不是引发的异常
        System.out.println("admin".equals(null));

        // NumberFormatException:数字格式异常
        // int i = Integer.parseInt("12a");

        int[] arr = new int[2];
        // ArrayIndexOutOfBoundsException:数组下标越界
        // 运行时异常
        System.out.println(arr[2]);

        // ParseException:解析异常,字符串的格式不正确
        // 该异常属于检查异常
        // 检查异常:所有继承自Exception的异常都是检查异常
        // 这类异常的出现是可预期的,很有可能会发生
        // 编译器要求必须对其进行处理,强制进行处理
        // new SimpleDateFormat("yyyy-MM-dd").parse("2025-02-05");

        System.out.println("**********************");
    }

}

